package Arreglos;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.*;
import java.io.*;
import Objetos.*;

import javax.swing.*;

import conectorbaseDatos.ConectorBaseDatos;

public class ArregloTienda {
	private ArrayList<Tienda> tien;

	public ArregloTienda() {
		tien = new ArrayList<Tienda>();
		cargar();
	}

	public void adicionar(Tienda x) {
		tien.add(x);
	}

	public Tienda buscar(int cod) {
		for (int i = 0; i < tien.size(); i++)
			if (tien.get(i).getCodTi() == cod)
				return tien.get(i);
		return null;
	}

	public void cargar() {
		Connection conexion = null;
		Statement s = null;
		ResultSet rs = null;

		try {
			conexion = ConectorBaseDatos.obtenerConexion();
			s = conexion.createStatement();
			rs = s.executeQuery("select * from tienda");
			int codTienda, capaTienda, ocupadTienda;
			String descTienda;
			Tienda x;
			while (rs.next()) {
				codTienda = rs.getInt(1);
				capaTienda = rs.getInt(2);
				ocupadTienda = rs.getInt(3);
				descTienda = rs.getString(4);

				x = new Tienda(codTienda, capaTienda, ocupadTienda, descTienda);
				tien.add(x);
			}

		} catch (Exception e) {
			JOptionPane.showMessageDialog(null, "Error6a=" + e);
		} finally {
			try {
				conexion.close();
				s.close();
				rs.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}

	/*public void guardarTienda() {
		try {
			PrintWriter pw;
			pw = new PrintWriter(new FileWriter("archivos/Tienda.txt"));
			for (int i = 0; i < tien.size(); i++) {
				Tienda X = tien.get(i);
				pw.println(X.getCodTi() + "-" + X.getCapaTi() + "-"
						+ X.getOcuTi() + "-" + X.getDescTi());
			}
			pw.close();
		} catch (Exception e) {
			JOptionPane.showMessageDialog(null, "Error6b=" + e);
		}
	}*/

	public void modificarTienda(Tienda t) {
		Connection conexion = null;
		PreparedStatement pst;
		
		conexion = ConectorBaseDatos.obtenerConexion();
		if(conexion != null){
			String sql = "UPDATE tienda " +
						 "SET ocupad_tien="+t.getOcuTi()+
						 " WHERE cod_tiend='"+t.getCodTi()+"'";
			JOptionPane.showMessageDialog(null, "modifico tienda");
			try {
				pst = conexion.prepareStatement(sql);
				pst.executeUpdate();
				pst.close();
				conexion.close();
				
			} catch (SQLException e) {
				JOptionPane.showMessageDialog(null,e.getMessage());
				e.printStackTrace();
			}
		
		}
	}
}